home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Magazin: Amiga-CD 1995 October
/
Amiga-CD 1995 #10.iso
/
weitere_demos
/
adm
/
arexx
/
netzstatistik.adm
< prev
next >
Wrap
Text File
|
1995-06-04
|
3KB
|
106 lines
/* $VER: Netzstatistik.adm 1.0 (6.1.93)
Gibt den Anteil der User aus, die in der aktuellen ADM-Datei in
den jeweiligen Netzen sind.
Hat zwar keinen praktischen Nutzen, zeigt jedoch, wie ADM-Daten
ausgewertet und zu Statistiken verwendet werden könnten.
Fehler:
Überschneidungen (z.B. User in mehreren Netzen oder mehrere
Adressen in einem Netz) werden nicht separat ausgewertet.
Von Jan Geißler.
*/
/*----------------------------------------------------------------------
Hauptprogramm: Adresse auslesen, Mail schreiben & schicken
----------------------------------------------------------------------*/
OPTIONS RESULTS
/* Variablen initialisieren */
numfido = 0
numuucp = 0
numzer = 0
/* Ersten Eintrag aktivieren, Anzahl Einträge herausfinden */
ACTIVATEFIRST
ADDRINMEM
num = RESULT
/* Schleife: Falls EMail-Adresse
DO FOR num
GETADDRESS ADM /* Adresse holen */
IF ADM.EMAIL1 ~= "" THEN DO
txt = ADM.EMAIL1 /* EMail 1 auswerten, falls vorhanden */
CALL NetType
END
IF ADM.EMAIL2 ~= "" THEN DO
txt = ADM.EMAIL2 /* EMail 2 auswerten, falls vorhanden */
CALL NetType
END
ACTIVATENEXT /* Nächsten aktivieren */
END
/* Ergebnis ausgeben */
SAY "Gesamtzahl:" num
SAY "Fidonet: " numfido "(" || numfido / num * 100 || "%)"
SAY "Z-Netz: " numzer "(" || numzer / num * 100 || "%)"
SAY "Usenet: " numuucp "(" || numuucp / num * 100 || "%)"
EXIT /* Ende */
/*----------------------------------------------------------------------
UNTERPROGRAMM: Netz herausfinden.
----------------------------------------------------------------------*/
NetType:
IF txt ~= "" THEN DO /* Wenn überhaupt EMail-Text vorhanden */
pos = POS("=",txt) /* Wenn mit ZER=, FIDO= oder UUCP= ein- */
/* getragen... */
IF pos > 0 THEN DO /* ... Netz herausfinden und von Adresse */
net = STRIP(SUBSTR(txt,1,pos-1)) /* trennen */
END
ELSE DO /* andernfalls: Herausfinden, welches Netz */
net = "UUCP" /* Vorgegeben: UUCP, falls kein anderes
erkannt wird... */
pos = POS("@Fidonet",txt) /* Endung "@Fidonet"? */
IF pos>0 THEN DO
net = "FIDO"
END
pos = POS(".ZER",txt) /* Endung ".ZER"? */
IF pos=LENGTH(txt)-3 THEN DO
net = "ZER"
END
END
IF net="FIDO" THEN DO /* FIDO: */
numfido = numfido + 1
END
IF net="ZER" THEN DO /* ZERBERUS: */
numzer = numzer + 1
END
IF net="UUCP" THEN DO /* UUCP: */
numuucp = numuucp + 1
END
END
RETURN
/* ENDE des Unterprogramms */